# 装饰器函数
def check(fn):
    def inner(*args, **kwargs):
        # 开发登录功能
        print('登录功能')
        # 调⽤原函数
        fn(*args, **kwargs)  # 调⽤ comment(),download()

    return inner


# 评论功能（前提：登录）
@check
# @装饰器函数名称
def comment(*args, **kwargs):
    print(args, kwargs)
    print('评论功能')

comment(1, 2, a=3, b=4)


# 下载功能（前提：登录）# 调⽤ inner函数
@check
def download(n=1):
    print(n)
    print('下载功能')


download()  # 调⽤ inner函数
